In a packet-switched communication network, data are transmitted in the form of packets that are routed from a source node to a destination node through possible intermediate nodes. Exemplary packet-switched networks are IP (Internet Protocol) networks, Ethernet networks and MPLS (Multi-Protocol Label Switching) networks.
Packets not always reach the destination node, i.e. they may be lost during transmission through the network. Loss of packets is due to different reasons. For instance, a node or link may fail, thereby causing a total packet loss until the failure is either bypassed or fixed. Alternatively, packets may be discarded by a node due to a congestion of its ports. Besides, packets may be discarded by a node since they contain bit errors. In any case, when providing a service by transmitting data through a packet-switched network, the rate of packets lost during transmission affects the quality of service (QoS) of that service.
Besides, a packet is transmitted at a transmission time by the source node and is received at a reception time by the destination node. The time elapsing between transmission time and reception time is typically called “one way delay” (or, briefly, “delay”). The delay of a packet is given by the following equation:D=Trx−Ttx,  [1]where Trx is the transmission time and Ttx is the reception time of the packet.
The delay of a packet mainly depends on the number of possible intermediate nodes crossed by the packet from source to destination, the permanence time of the packet at each node and the propagation time along the links. Since the packets are routed hop-by-hop by each node, both the number of possible intermediate nodes crossed by packets and the permanence time of packets at each node are unpredictable. Accordingly, the delay of a packet is almost unpredictable.
Besides, packets of a same packet flow may have different delays. The difference in the delays of two packets of a same data flow is termed “interarrival jitter”. In particular, if Ttx1 and Ttx2 are the transmission times for a first packet and a second packet, and Trx1 and Trx2 are the reception times for the first packet and the second packet, the interarrival jitter may be expressed as:J=(Trx1−Trx2)−(Ttx1−Ttx2).  [2]
When a communication service (in particular, a real-time voice or data service such as call, conference call, video conference, etc.) is provided by means of a packet-switched network, the delay and interarrival jitter of the packet flow carrying the service strongly affect the quality of service (QoS) perceived by the end users of the service. Therefore, measuring delay/interarrival jitter of packet flows in a communication network is of particular interest for network operators.
WO 2010/072251 (in the name of the same Applicant) discloses a method for measuring data loss of a data flow transmitted through a communication network from a transmitting node to a receiving node. Before transmitting the data units of the data flow, the transmitting node marks each data unit for dividing the data flow in blocks. In particular, the transmitting node marks each data unit by setting a bit of its header to “1” or “0”. The marking results in a sequence of blocks, where blocks of data units marked with “1” alternate in time with blocks of data units marked with “0”. The blocks may have a same duration termed “block period” Tb (e.g. 5 minutes). Further, the transmitting node increases by one a first counter C1 each time a data unit marked by “1” is transmitted, and a second counter C0 each time a data unit marked by “0” is transmitted. The marked data units are then received at the receiving node. Each time the receiving node receives a data unit, it checks its marking, increases a third counter C′1 if the marking is “1” and increases a fourth counter C′0 if the marking is “0”. The values of the counters C1, C0, C′1 and C′0 are periodically detected and the detected values are used for calculating the data loss at each block period.
WO 2011/079857 (in the name of the same Applicant) discloses a method for performing a time measurement (in particular, for measuring delay and/or interarrival jitter) on a data flow transmitted from a transmitting node to a receiving node of a communication network. According to WO 2011/079857, at the transmitting node, in addition to the above marking operation disclosed by WO 2010/072251, a transmission timestamp is also generated at each block period, which indicates the time at which a predetermined data unit of the current block (for instance, the first data unit of the current block) is transmitted. At the receiving node, a reception timestamp is generated at each block period, which indicates the time at which the predetermined data unit of the current block is received. At each block period, the transmission timestamp and the reception timestamp are used for calculating the delay of the predefined data unit of the current block.